home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / mus / edit / WaveTracer.lha / WaveTracer / Doc / Developer / Sources / WTIncl.h < prev    next >
C/C++ Source or Header  |  1995-06-13  |  6KB  |  252 lines

  1. #ifndef WTINCL_MOD
  2. #define WTINCL_MOD
  3.  
  4.             /*** MDC_ MoDuleCommands ***/
  5. #define MDC_ASKREADY 1
  6. #define MDC_DEFINEIT 2
  7. #define MDC_CONFIG   3
  8. #define MDC_DOIT     8
  9.  
  10.            /*** MDE_ MoDuleErrors ***/
  11. #define MDE_READY                1
  12. #define MDE_CANCELLED            2
  13. #define MDE_FILEERROR            3
  14. #define MDE_ERROR                4
  15. #define MDE_NOTMYFORMAT          8
  16. #define MDE_WRONG_MODULEVERSION 16
  17. #define MDE_NO_MEMORY           32
  18. #define MDE_BREAK               64
  19. #define MDE_CHANNELERROR       128
  20. #define MDE_NICE_SOFTMOD       512
  21.  
  22.             /*** WTM_ WaveTracerMessage ***/
  23. #define WTM_TASKREQ             0x0001
  24. #define WTM_FILEREQ             0x0002
  25. #define WTM_GETABORTINFO        0x0003
  26. #define WTM_TASKMSG             0x0004
  27. #define WTM_WORKINFO            0x0005
  28. #define WTM_HANDLEMOD           0x0006
  29. #define WTM_AUTODWIN            0x0007
  30. #define WTM_OPENDWIN            0x0008
  31. #define WTM_GETMARKADDR         0x0009
  32. #define WTM_LEAVEWIN            0x000A
  33. #define WTM_SETCHANNELGADS      0x000B
  34. #define WTM_GETCHANNELGADS      0x000C
  35. #define WTM_ALLOCALPHA          0x000D
  36. #define WTM_GETMARKOFFSET       0x000E
  37. #define WTM_RESTOREALPHA        0x000F
  38. #define WTM_PREFSPROCESS        0x0010
  39. #define WTM_ALLOCUNDO           0x0011
  40. #define WTM_FREEUNDO            0x0012
  41. #define WTM_FREEPLAYLIST        0x0013
  42. #define WTM_ADDPATTERN          0x0014
  43. #define WTM_ADDENTRY            0x0015
  44. #define WTM_GETCHANNELBITS      0x0016
  45. #define WTM_GETSOUNDMODE        0x0017
  46. #define WTM_DOSELECTLIST        0x0018
  47. #define WTM_LONGREQ             0x0019
  48. #define WTM_DRAWTIMEPATTERNLIST 0x001A
  49. #define WTM_ADDANIMPATH         0x001B
  50. #define WTM_ALLOCCHANNEL        0x001C
  51. #define WTM_FREECHANNEL         0x001D
  52. #define WTM_ALLOC_SPECIAL_DATA  0x001E
  53. #define WTM_PLAYKEYS            0x0020
  54. #define WTM_SPECIAL_DATA_FOUND  0x0040
  55. #define WTM_PLAY                0x0080
  56. #define WTM_STOPPLAY            0x0100
  57. #define WTM_CHANNELREQ          0x0200
  58. #define WTM_GETNOTEFREQ         0x0800
  59. #define WTM_CALCWAVE            0x1000
  60. #define WTM_WORK_BACKGROUND 0x80000000
  61.  
  62.             /*** CH_ CHannel ***/
  63. #define CH_LEFT    1
  64. #define CH_RIGHT   2
  65. #define CH_CENTER  4
  66. #define CH_SLEFT   8
  67. #define CH_SRIGHT 16
  68. #define CH_SUB    32
  69.  
  70.             /*** MD_ MoDe ***/
  71. #define MD_MONO     1
  72. #define MD_STEREO   2
  73. #define MD_3CH      3
  74. #define MD_QUADRO   4
  75. #define MD_SURROUND 5
  76. #define MD_AC3_Sub  6
  77. #define MD_AC3      7
  78.  
  79.             /*** Portnames ***/
  80. #define PORT_WT        "WaveTracerPort"
  81. #define PORT_EFFECTMOD "WTEffectModPort"
  82. #define PORT_LOADER    "WTLoaderPort"
  83. #define PORT_SAVER     "WTSaverPort"
  84.  
  85.             /*** Portversions ***/
  86. #define VERSION_WT        1
  87. #define VERSION_EFFECTMOD 4
  88. #define VERSION_LOADER    2
  89. #define VERSION_SAVER     3
  90.  
  91.             /*** Samplekompressions ***/
  92. #define COMPRESSION_FIBONACCI_DELTA 0x1
  93. #define COMPRESSION_3BYTE           0x2
  94. #define COMPRESSION_DELTA           0x4
  95. #define COMPRESSION_DELTA_2         0x8
  96.  
  97.  
  98. #define EFF_DEFWIN 0x1
  99. #define EFF_NOCALC 0x2
  100.  
  101.  
  102. #define MAX24 8388600
  103. #define MAXSIZE 50000000
  104.  
  105.             /*** SpecialData-Typen ***/
  106. #define SD_SHORT_TEXT     0x1
  107. #define SD_TEXT           0x2
  108. #define SD_ANIMINFO       0x3
  109. #define SD_IMAGE          0x4
  110. #define SD_LOOP           0x5
  111. #define SD_MARKER_ARRAY   0x8
  112. #define SD_PLAYLIST      0x10
  113. #define SD_ALPHA_CHANNEL 0x20
  114. #define SD_SCENE         0x40
  115.  
  116.  
  117. struct SDHeader
  118.    {
  119.    SDHeader *NextSpecialData;
  120.    LONG sdh_Size,sdh_Type;
  121.    };
  122.  
  123. struct SDBodyShortText
  124.    {
  125.    SDHeader sdb_SDHeader;
  126.    char sdb_TextString[100];
  127.    };
  128.  
  129. struct SDBodyAnim
  130.    {
  131.    SDHeader sdb_SDHeader;
  132.    LONG  sdb_Frames;
  133.    UBYTE sdb_FPS,sdb_Flags;
  134.    UWORD sdb_pad;
  135.    };
  136.  
  137. struct SDBodyScene
  138.    {
  139.    SDHeader sdb_SDHeader;
  140.    char  sdb_Name[200];
  141.    ULONG sdb_StartFrame,sdb_EndFrame;
  142.    };
  143.      
  144. struct SDBodyLoop
  145.    {
  146.    SDHeader sdb_SDHeader;
  147.    UWORD sdb_Loop,sdb_pad;    
  148.    };
  149.  
  150. struct BlueNote
  151.    {
  152.    char  bn_NoteName[4][7][12]; // string[4];
  153.    FLOAT bn_SampleFreq[7][12];
  154.    UWORD bn_PlayRate[7][12];
  155.    BYTE  bn_PosX,bn_PosY;
  156.    };
  157.  
  158. struct WaveOp
  159.    {
  160.    UBYTE ChunkSize,SoundMode;
  161.    WORD  Operation,OpType,Channels,Flags;
  162.    ULONG Operator[6];
  163.    ULONG WAreaA,WAreaE;                   //  -  42
  164.    char  OpString[81];                   //  - 123
  165.    ULONG MemLData;
  166.    APTR  MemAData;                        //  - 131
  167.    };
  168.  
  169. struct SelectListGad
  170.    {
  171.    Window *GadWindow;
  172.    Gadget *SGad;
  173.    UBYTE  SelectedGad,pad1,pad2,pad3;
  174.    IntuiText *ITextTag[15];
  175.    };
  176.  
  177.  
  178. #define WOP_SMALL 42
  179. #define WOP_NORM 123
  180. #define WOP_BIG  131
  181.  
  182.  
  183. struct WTImages
  184.    {
  185.    UBYTE HiSys,Share;  // BOOL = 16 Bit!!!
  186.    Image *None0,*KnobImg,*CalcImg;
  187.    Image *GImg1,*GImg2,*GImg3,*GImg4,*GImg5,*GImg6;
  188.    Image *ButtonImg1,*ButtonImg2,*ButtonImg3;
  189.    Image *None1,*None2,*None3;
  190.    BlueNote *Notes;
  191.    IntuiText *OKIText,*CIText;
  192.    Image *ButtonImg4,*ButtonImg5,*ButtonImg6;
  193.    };
  194.      
  195. struct MsgPrc
  196.    {
  197.    LONG  PRC_Flags;
  198.    char  PRC_Str1[200],PRC_Str2[200],PRC_Str3[200],PRC_Str4[200],PRC_Str5[200];
  199.    LONG  PRC_Long1,PRC_Long2,PRC_Long3,PRC_Long4,PRC_Long5;
  200.    void  *PRC_NewPtr; // ptr
  201.    };
  202.      
  203. struct ChCoords
  204.    {
  205.    BYTE ChX[6],ChY[6];
  206.    };
  207.  
  208. struct PlayListEntry           // ^r_ wurde geändert
  209.    {
  210.    LONG  BeginOffset,EndOffset;
  211.    LONG  Rate,Delay,Time;
  212.    WORD  Loop,VolumeL,VolumeR;
  213.    char  Name[30];
  214.    PlayListEntry *BeforeEntry,*NextEntry;
  215.    };
  216.      
  217. struct PlayListPattern         // ^r_ wurde geändert
  218.    {
  219.    LONG  BeginOffset,EndOffset;
  220.    char  Name[30];
  221.    PlayListPattern *BeforePattern,*NextPattern;
  222.    };
  223.  
  224. struct WTStdMsg
  225.    {
  226.    Message  wt_Node;
  227.    UBYTE    UNDOPossible;
  228.    LONG     Flags,Version;
  229.    Screen   *WTScreen;
  230.    Window   *WTWindow;
  231.    LONG     ActiveChannels,ActiveMode;
  232.    LONG     MemA16[6],MemA24[6],MemAUndo[6];
  233.    LONG     MemL24,PlayL24,SRate;
  234.    LONG     Attack,Decay,Sustain,Release;
  235.    WaveOp   *ActWaveOp;
  236.    LONG     OPos,OEnd,AreaA,AreaE;
  237.    BPTR     ActFHandle;
  238.    WTImages *WTImg;
  239.    MsgPrc   *WTMsgPrc;
  240.    ChCoords *PosSurround,*PosQuadro,*PosAC3;
  241.    LONG     UsedChannels;
  242.    LONG     MemAAlpha[6],AlphaUNDO[6];
  243.    LONG     DataValid;
  244.    PlayListPattern *FirstPlayListPattern;
  245.    PlayListEntry *FirstPlayListEntry;
  246.    SDHeader *SpecialData;
  247.    char     *AnimPath;
  248.    APTR     Free1,Free2,Free3,Free4,Free5,Free6;
  249.    };
  250.  
  251. #endif
  252.